package top.lshaci.learning.wechat.offiaccount.enums;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import top.lshaci.learning.wechat.offiaccount.model.*;

/**
 * MsgType
 *
 * @author lshaci
 * @since 1.0.0
 */
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum MsgType {
    /**
     * 文本消息
     */
    text(TextMessage.class),
    /**
     * 图片消息
     */
    image(ImageMessage.class),
    /**
     * 语音消息
     */
    voice(VoiceMessage.class),
    /**
     * 视频消息
     */
    video(VideoMessage.class),
    /**
     * 小视频消息
     */
    shortvideo(ShortVideoMessage.class),
    /**
     * 地理位置消息
     */
    location(LocationMessage.class),
    /**
     * 链接消息
     */
    link(LinkMessage.class);

    /**
     * 消息类型对应的类类型
     */
    private final Class<? extends AbstractMessage> type;
}
